SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

CREATE PROC [dbo].[SP_TXMVTO_CNTB_Q68]                                          
/*-------------------------------------------------------------------*/                                          
/*----- Empresa           : OFISIS S.A.                          ----*/                                          
/*----- Cliente           : OFISIS S.A.                          ----*/                                          
/*----- Sistema           : Contabilidad                         ----*/                                          
/*----- Modulo            : Empresa                              ----*/                                          
/*----- Programa          : Libro Caja y Bancos                  ----*/                                          
/*----- Nombre            : SP_TXMVTO_CNTB_Q60                   ----*/                                          
/*----- Script            : SP_TXMVTO_CNTB_Q60                   ----*/                                          
/*----- Desarrollado por  : LMGP               ----*/                                          
/*----- Fecha             : 07/09/2006                           ----*/                                          
/*----- Base de Datos     : MS SQL Server                        ----*/                                          
/*----- Version BD        : 2000                                 ----*/                                          
/*-------------------------------------------------------------------*/                                          
/*---- Modificado 1 por     :   pdgv                                 ----*/                                            
/*---- Fecha Modificaci?n   :   25/04/2007                           ----*/                                                
/*---- Detalle Modificaci?n :  se coloco outer join de la #TWMVTO_CNTB_Q49_5 respecto                                 
de la tasald para que pueda visualizarse cuenta creadas en el mismo mes y que                                 
tengan mov pero no saldo                                        ----*/                        
/*-------------------------------------------------------------------*/                                          
/*---- Modificado 1 por     :   MDLC                                 ----*/                                            
/*---- Fecha Modificaci?n   :   21/05/2010                           ----*/                                                
/*---- Detalle Modificaci?n :  En la tabla #TWMVTO_CNTB_Q49_1 se coloco dos ----*/                                         
/*----  nuevas columnas TO_CARG y TO_ABON para poder cacular ----*/                                         
/*----  en el reporte los saldos totales de todas cuentas    ----*/                                         
/*-------------------------------------------------------------------*/                                          
/*----- Drop proc SP_TXMVTO_CNTB_Q60                             ----*/                                          
/*----- Grant all on SP_TXMVTO_CNTB_Q60 to PUBLIC                ----*/                                          
/*----- EXEC SP_TXMVTO_CNTB_Q60 '01', 1, 2008, 9, '104100', '104100', 'UNI', 'ANA', "TASALD_EMPR.CO_UNID_CNTB in ( '030')","And #TWMVTO_CNTB_Q49_5.CO_UNID_CNTB in ( '030')" ----*/                                          
/*----- EXEC SP_TXMVTO_CNTB_Q60 '01', 1, 2010, 9, '1040101', '1040101', 'UNI', 'ANA', '', '','B' ----*/     
/*-----EXEC SP_TXMVTO_CNTB_Q60 '01', 1, 2010, 9,  '', '', 'UNI','ANA','','','B' ----*/                                          
/*-------------------------------------------------------------------*/                                        
@ISCO_EMPR TD_VC_002,                                          
@INNU_CNTB_EMPR TD_IN_001_CONT,                                          
@INNU_ANNO TD_IN_004_ANNO,                                          
@INNU_MESE TD_IN_002_MESE,                                           
@ISCO_CNTA_INIC TD_VC_020,                                          
@ISCO_CNTA_FINA TD_VC_020,                                           
@ISST_ORDE TD_VC_003, -- ORDEN: 'UNI', 'OPE', 'VOU', 'FEC'                                          
@ISST_IMPR TD_VC_003, -- IMPRESION: 'ANA', 'RES', 'RCB'                                          
@ISCA_WHER_SALD Varchar(2000), -- Where Filtro Cursor de Saldos                                            
@ISCA_WHER      Varchar(2000),  -- Where Tabla de Movimientos           
@ISCA_REPO  TD_VC_003        
As                                      
Declare                                           
@CSCO_CNTA_EMPR TD_VC_020,                                           
@CSDE_CNTA_EMPR TD_VC_050,                                    
@CDFE_ASTO_CNTB TD_DT_001,                                           
@CSCO_OPRC_CNTB TD_VC_003,                                           
@CSNU_ASTO TD_VC_010,                                           
@CSDE_GLOS TD_VC_100,                                           
@CSTI_DOCU_CABA TD_VC_003,                                           
@CSNU_DOCU_CABA TD_VC_020,                                           
@CSFE_DOCU_CABA TD_DT_001,                                           
@CSTI_DOCU_PROV TD_VC_003,                                           
@CSNU_DOCU_PROV TD_VC_020,                                           
@CSFE_DOCU_PROV TD_DT_001,                                           
@CNIM_MVTO_CARG TD_NU_016_004,                                           
@CNIM_MVTO_ABON TD_NU_016_004,                                           
@CNSA_ANTE TD_NU_016_004,                                           
@CSCO_CNTA_CONT TD_VC_020,                                           
@CSDE_CNTA_CONT TD_VC_050,                                           
@CSID_CNTA TD_VC_003,                                          
@CNNU_CONT TD_IN_001,                                          
@VNNV_INFO_CNTA TD_IN_001,                                          
@VSNU_MESE      TD_VC_002,                                            
@VSNU_ANNO      Varchar(4),                                            
@VSNV_INFO_CNTA TD_VC_002,                                            
@VSNU_CNTB_EMPR TD_VC_002,                                          
@VSDE_CNTA TD_VC_255,                                          
@VSDE_CNTA_SALD TD_VC_255,                                          
@VNVA_ACUM TD_NU_016_004,                                          
@VSDE_ORDE TD_VC_255,                                          
@VNIM_ACUM TD_NU_016_004,                                          
@CSCO_UNID_CNTB TD_VC_003,                                          
@VNNU_CONT TD_IN_001,                                          
@VSCO_CNTA_EMPR TD_VC_020,                          
@VSCA_WHER_SALD Varchar(2000),                  
@VNIM_CARG TD_NU_016_004,                  
@VNIM_ABON TD_NU_016_004                  
                                          
Select @VNNV_INFO_CNTA = NV_INFO_CNTA                                           
From TMPARA_CONT                                          
Where CO_EMPR = @ISCO_EMPR                                          
                                          
CREATE TABLE [dbo].[#TWMVTO_CNTB_Q49_1](                                          
CO_CNTA_EMPR   VARCHAR(20),                                           
DE_CNTA_EMPR    VARCHAR(50),                                          
FE_ASTO_CNTB    DATETIME NULL,                                           
CO_UNID_CNTB    VARCHAR(3) NULL,                                           
CO_OPRC_CNTB    VARCHAR(3) NULL,                                           
NU_ASTO  VARCHAR(10) NULL,            
NU_SECU  INT NULL,                                       
DE_GLOS  VARCHAR(100) NULL,                                           
TI_DOCU_CABA VARCHAR(3) NULL,                                           
NU_DOCU_CABA VARCHAR(20) NULL,                                          
FE_DOCU_CABA DATETIME NULL,                                           
TI_DOCU_PROV VARCHAR(3) NULL,                                           
NU_DOCU_PROV    VARCHAR(20) NULL,                                          
FE_DOCU_PROV    DATETIME NULL,                              
IM_MVTO_CARG    NUMERIC(16, 4) NULL,                                            
IM_MVTO_ABON NUMERIC(16, 4) NULL,                                           
SA_ANTE  NUMERIC(16, 4) NULL,                                           
IM_ACUM  NUMERIC(16, 4) NULL,            
CO_CNTA_CONT VARCHAR(20) NULL,                                           
NU_CONT  INTEGER IDENTITY(1,1),                                          
ID_CNTA  VARCHAR(3) NULL,                              
CO_MEPA VARCHAR(3) NULL,                              
DE_MEPA VARCHAR(100) NULL,                              
NO_GIRA VARCHAR(100) NULL,                  
TO_CARG  NUMERIC(16, 4) NULL,   -- nuevo                  
TO_ABON  NUMERIC(16, 4) NULL,                    
TI_AUXI_EMPR VARCHAR(01) NULL,                    
CO_AUXI_EMPR VARCHAR(20) NULL)   -- nuevo                           
                        
CREATE TABLE [dbo].[#TWMVTO_CNTB_Q49_2](                                          
CO_CNTA_EMPR   VARCHAR(20),                                           
DE_CNTA_EMPR    VARCHAR(50),                                          
FE_ASTO_CNTB    DATETIME NULL,                                           
CO_UNID_CNTB    VARCHAR(3) NULL,                                           
CO_OPRC_CNTB    VARCHAR(3) NULL,                                           
NU_ASTO  VARCHAR(10) NULL,           
NU_SECU  INT NULL,                          
DE_GLOS  VARCHAR(100) NULL,                                           
TI_DOCU_CABA VARCHAR(3) NULL,                                           
NU_DOCU_CABA VARCHAR(20) NULL,                                          
FE_DOCU_CABA DATETIME NULL,                               
TI_DOCU_PROV VARCHAR(3) NULL,                                           
NU_DOCU_PROV    VARCHAR(20) NULL,                                          
FE_DOCU_PROV    DATETIME NULL,                                           
IM_MVTO_CARG    NUMERIC(16, 4) NULL,                           
IM_MVTO_ABON NUMERIC(16, 4) NULL,                                           
SA_ANTE  NUMERIC(16, 4) NULL,                                           
IM_ACUM  NUMERIC(16, 4) NULL,                                           
CO_CNTA_CONT VARCHAR(20) NULL,                                           
NU_CONT  INTEGER IDENTITY(1,1),                                          
ID_CNTA  VARCHAR(3) NULL,                              
CO_MEPA VARCHAR(3) NULL,                              
DE_MEPA VARCHAR(100) NULL,                              
NO_GIRA VARCHAR(100) NULL,                    
TI_AUXI_EMPR VARCHAR(01) NULL,                    
CO_AUXI_EMPR VARCHAR(20) NULL)                              
                       
CREATE TABLE [dbo].[#TWMVTO_CNTB_Q49_3](                                          
CO_CNTA_EMPR   VARCHAR(20),                                           
DE_CNTA_EMPR    VARCHAR(50),                                          
FE_ASTO_CNTB    DATETIME NULL,                                           
CO_UNID_CNTB    VARCHAR(3) NULL,                                           
CO_OPRC_CNTB    VARCHAR(3) NULL,                                           
NU_ASTO  VARCHAR(10) NULL,           
NU_SECU  INT  NULL,                                      
DE_GLOS  VARCHAR(100) NULL,                                           
TI_DOCU_CABA VARCHAR(3) NULL,                       
NU_DOCU_CABA VARCHAR(20) NULL,                                          
FE_DOCU_CABA DATETIME NULL,                                           
TI_DOCU_PROV VARCHAR(3) NULL,                                           
NU_DOCU_PROV    VARCHAR(20) NULL,                                          
FE_DOCU_PROV    DATETIME NULL,                                           
IM_MVTO_CARG    NUMERIC(16, 4) NULL,                                            
IM_MVTO_ABON NUMERIC(16, 4) NULL,                                           
SA_ANTE  NUMERIC(16, 4) NULL,                                           
IM_ACUM  NUMERIC(16, 4) NULL,                                           
CO_CNTA_CONT VARCHAR(20) NULL,                                           
NU_CONT  INTEGER IDENTITY(1,1),                                   
ID_CNTA  VARCHAR(3) NULL,                              
CO_MEPA VARCHAR(3) NULL,                              
DE_MEPA VARCHAR(100) NULL,                              
NO_GIRA VARCHAR(100) NULL,                    
TI_AUXI_EMPR VARCHAR(01) NULL,                    
CO_AUXI_EMPR VARCHAR(20) NULL)                              
                     
CREATE TABLE [dbo].[#TWMVTO_CNTB_Q49_4](                                          
CO_CNTA_EMPR   VARCHAR(20),                                           
DE_CNTA_EMPR    VARCHAR(50),                                          
FE_ASTO_CNTB    DATETIME NULL,                                           
CO_UNID_CNTB    VARCHAR(3) NULL,                        
CO_OPRC_CNTB    VARCHAR(3) NULL,                                           
NU_ASTO  VARCHAR(10) NULL,        
NU_SECU  INT NULL,        
DE_GLOS  VARCHAR(100) NULL,                                           
TI_DOCU_CABA VARCHAR(3) NULL,                                           
NU_DOCU_CABA VARCHAR(20) NULL,                                          
FE_DOCU_CABA DATETIME NULL,                                           
TI_DOCU_PROV VARCHAR(3) NULL,                                           
NU_DOCU_PROV    VARCHAR(20) NULL,                                          
FE_DOCU_PROV    DATETIME NULL,                                           
IM_MVTO_CARG    NUMERIC(16, 4) NULL,                                            
IM_MVTO_ABON NUMERIC(16, 4) NULL,                                           
SA_ANTE  NUMERIC(16, 4) NULL,                                           
IM_ACUM  NUMERIC(16, 4) NULL,                                           
CO_CNTA_CONT VARCHAR(20) NULL,                                           
NU_CONT  INTEGER IDENTITY(1,1),                                          
ID_CNTA  VARCHAR(3) NULL,                              
CO_MEPA VARCHAR(3) NULL,                              
DE_MEPA VARCHAR(100) NULL,                              
NO_GIRA VARCHAR(100) NULL,                    
TI_AUXI_EMPR VARCHAR(01) NULL,                    
CO_AUXI_EMPR VARCHAR(20) NULL)                              
                    
CREATE TABLE #TWMVTO_CNTB_Q49_5                    
(CO_EMPR  VARCHAR(02),                    
NU_CNTB_EMPR INT,                    
CO_UNID_CNTB VARCHAR(03),                    
CO_OPRC_CNTB VARCHAR(03),                    
NU_ANNO   INT,                    
NU_MESE   INT,                    
NU_ASTO   VARCHAR(10),                    
NU_SECU   INT,                    
FE_ASTO_CNTB DATETIME,                    
CO_CNTA_EMPR VARCHAR(20),                    
TI_AUXI_EMPR VARCHAR(01) NULL,                    
CO_AUXI_EMPR VARCHAR(20) NULL,                    
TI_DOCU   VARCHAR(03) NULL,                    
NU_DOCU   VARCHAR(20) NULL,                    
FE_DOCU   DATETIME NULL,                    
FE_DOCU_VENC DATETIME NULL,                    
TI_CAMB   VARCHAR(03) NULL,                    
CO_MONE   VARCHAR(03) NULL,                    
FA_CAMB   NUMERIC(15, 6) NULL,                   
FA_CAMB_DIAR NUMERIC(15, 6) NULL,                    
TI_OPER   VARCHAR(03) NULL,                    
IM_MVTO_ORIG NUMERIC(16, 4) NULL,                    
IM_MVTO_CNTB NUMERIC(16, 4) NULL,                    
DE_GLOS   VARCHAR(100) NULL,                    
TI_DOCU_REFE VARCHAR(03) NULL,                    
NU_DOCU_REFE VARCHAR(20) NULL,                    
FE_DOCU_REFE DATETIME NULL,                    
NO_GIRA   VARCHAR(100) NULL,                    
FE_ENTR_CHEQ DATETIME NULL,                    
FE_PROG_CHEQ DATETIME NULL,                    
CO_ORDE_SERV VARCHAR(20) NULL,                    
SI_MVTO_CNTB VARCHAR(03) NULL,                    
CO_UNID_ORIG VARCHAR(03) NULL,                    
CO_OPRC_ORIG VARCHAR(03) NULL,                    
NU_ASTO_ORIG VARCHAR(10) NULL,                    
NU_SECU_ORIG INT NULL,                    
CO_CNTA_ORIG VARCHAR(20) NULL,                    
ST_OTRS   VARCHAR(20) NULL,                    
NU_PROC   INT NULL,                    
NU_PROC_SECU INT NULL,                    
ST_IMPR_CHEQ VARCHAR(01) NULL,                     
ST_FLAG VARCHAR(20) NULL,                    
ST_GEST VARCHAR(01) NULL,                    
ST_REDO VARCHAR(01) NULL,                    
CO_TABL_ORIG INT NULL,                    
CO_CLAV_TAOR VARCHAR(100) NULL,                    
CO_TIPO_OPER VARCHAR(03) NULL,                    
IM_MVTO_RETE NUMERIC(16, 4) NULL,                    
ST_IMPR_RETE VARCHAR(01) NULL,                    
CO_USUA_APRO VARCHAR(08) NULL,                    
FE_USUA_APRO DATETIME NULL,                    
NU_SECU_DIST INT NULL,                    
ST_CANC_DOCU VARCHAR(01) NULL,                    
ST_DIFE_MAYO VARCHAR(01) NULL,                    
ST_DIFE_CAMB VARCHAR(01) NULL,                    
ST_MASI VARCHAR(01) NULL,                    
ST_AJUS_ORIG VARCHAR(01) NULL,                    
FE_PAGO DATETIME NULL,                    
FE_PAGO_AGEN DATETIME NULL,                    
NU_ORDE_FORM NUMERIC(16, 4) NULL,                    
CO_MEPA VARCHAR(03) NULL)                    
                    
CREATE TABLE #TWMVTO_CNTB_Q49_6                    
(CO_EMPR VARCHAR(02),              
CO_UNID_CNTB VARCHAR(03),                     
NU_CNTB_EMPR INT,                     
NU_ANNO INT,                     
NU_MESE INT,                    
CO_CNTA_EMPR VARCHAR(20),                     
TI_AUXI_EMPR VARCHAR(1) NULL,                     
CO_AUXI_EMPR VARCHAR(20) NULL,                    
CO_ORDE_SERV VARCHAR(20) NULL,                     
IM_CARG_CNTB NUMERIC(16, 4),                     
IM_ABON_CNTB NUMERIC(16, 4))                    
                                         
Select @VSNU_MESE = Convert(Varchar, @INNU_MESE)          
Select @VSNU_ANNO = Convert(Varchar, @INNU_ANNO)                                            
Select @VSNU_CNTB_EMPR = Convert(Varchar, @INNU_CNTB_EMPR)                                            
Select @VSNV_INFO_CNTA = Convert(Varchar, @VNNV_INFO_CNTA)                                            
                                          
If Datalength(@ISCO_CNTA_INIC) > 0 And Datalength(@ISCO_CNTA_FINA) > 0                                          
Begin                                          
  Select @VSDE_CNTA = ' And #TWMVTO_CNTB_Q49_5.CO_CNTA_EMPR >= "' + @ISCO_CNTA_INIC + '" And #TWMVTO_CNTB_Q49_5.CO_CNTA_EMPR <= "' + @ISCO_CNTA_FINA + '" '                                          
  Select @VSDE_CNTA_SALD = ' And TASALD_EMPR.CO_CNTA_EMPR >= "' + @ISCO_CNTA_INIC + '" And TASALD_EMPR.CO_CNTA_EMPR <= "' + @ISCO_CNTA_FINA + '" '                                          
End                                          
Else                                          
Begin                                          
  Select @VSDE_CNTA = ' '                                          
  Select @VSDE_CNTA_SALD = ' '                                          
End                                          
                      
If @ISST_ORDE = 'UNI'                                          
SELECT @VSDE_ORDE = ' ORDER BY 1, 4, 3, 5, 6 '                                           
                                          
Else If @ISST_ORDE = 'OPE'                                          
SELECT @VSDE_ORDE = ' ORDER BY 1, 5, 6 '                                          
                                          
Else If @ISST_ORDE = 'VOU'                                          
SELECT @VSDE_ORDE = ' ORDER BY 1, 6, 5 '                                          
                                          
Else If @ISST_ORDE = 'FEC'                    
SELECT @VSDE_ORDE = ' ORDER BY 1, 3, 5, 6 '                          
                         
IF ISNULL(@ISCA_WHER_SALD,'') = ''                          
 SELECT @VSCA_WHER_SALD = ''                          
ELSE                           
   SELECT @VSCA_WHER_SALD = 'and '+ @ISCA_WHER_SALD                  
                  
EXEC('insert into #TWMVTO_CNTB_Q49_5                    
(CO_CNTA_EMPR, FE_ASTO_CNTB, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO, CO_EMPR, NU_CNTB_EMPR, NU_ANNO, NU_MESE, NU_SECU,                     
TI_AUXI_EMPR, CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE,                    
FA_CAMB, FA_CAMB_DIAR, TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE, NU_DOCU_REFE, FE_DOCU_REFE,       
NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV, SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,                     
NU_SECU_ORIG, CO_CNTA_ORIG, ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, ST_GEST, ST_REDO,                     
CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER, IM_MVTO_RETE, ST_IMPR_RETE, CO_USUA_APRO, FE_USUA_APRO,                     
ST_CANC_DOCU, ST_DIFE_MAYO, ST_DIFE_CAMB, ST_MASI, ST_AJUS_ORIG, FE_PAGO, CO_MEPA)                    
select CO_CNTA_EMPR, FE_ASTO_CNTB, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO, CO_EMPR, NU_CNTB_EMPR, NU_ANNO, NU_MESE,                     
NU_SECU, TI_AUXI_EMPR, CO_AUXI_EMPR, TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE,                    
FA_CAMB, FA_CAMB_DIAR, TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE, NU_DOCU_REFE, FE_DOCU_REFE,                    
NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV, SI_MVTO_CNTB, CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG,                     
NU_SECU_ORIG, CO_CNTA_ORIG, ST_OTRS, NU_PROC, NU_PROC_SECU, ST_IMPR_CHEQ, ST_FLAG, ST_GEST, ST_REDO,                     
CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER, IM_MVTO_RETE, ST_IMPR_RETE, CO_USUA_APRO, FE_USUA_APRO,                     
ST_CANC_DOCU, ST_DIFE_MAYO, ST_DIFE_CAMB, ST_MASI, ST_AJUS_ORIG, FE_PAGO, CO_MEPA                    
from TXMVTO_CNTB                     
Where CO_EMPR = "' + @ISCO_EMPR + '"                                          
And NU_CNTB_EMPR = ' + @VSNU_CNTB_EMPR + '                                  
And NU_ANNO = ' + @VSNU_ANNO  + '                    
And NU_MESE = ' + @VSNU_MESE  + '                    
And SI_MVTO_CNTB = "APR" ' + @ISCA_WHER + @VSDE_ORDE)                  
                    
EXEC('insert into #TWMVTO_CNTB_Q49_6                    
(CO_EMPR, CO_UNID_CNTB, NU_CNTB_EMPR, NU_ANNO, NU_MESE, CO_CNTA_EMPR,  TI_AUXI_EMPR, CO_AUXI_EMPR,                    
CO_ORDE_SERV, IM_CARG_CNTB, IM_ABON_CNTB)                    
select CO_EMPR, CO_UNID_CNTB, NU_CNTB_EMPR, NU_ANNO, NU_MESE, CO_CNTA_EMPR,  TI_AUXI_EMPR, CO_AUXI_EMPR,                    
CO_ORDE_SERV, IM_CARG_CNTB, IM_ABON_CNTB                    
From TASALD_EMPR                             
 Where co_empr = "' + @ISCO_EMPR + '"                                      
 And nu_cntb_empr = ' + @VSNU_CNTB_EMPR + '                                      
 And nu_anno = ' + @VSNU_ANNO  + '                                      
 And nu_mese < ' + @VSNU_MESE  + '                                      
 And TI_AUXI_EMPR IS NULL                        
 And CO_AUXI_EMPR IS NULL                                  
 And CO_ORDE_SERV IS NULL                                     
 And Datalength(CO_CNTA_EMPR) = ' + @VSNV_INFO_CNTA + @VSDE_CNTA_SALD + @VSCA_WHER_SALD  )                  
                                     
EXEC('INSERT INTO #TWMVTO_CNTB_Q49_2(CO_CNTA_EMPR, DE_CNTA_EMPR, FE_ASTO_CNTB, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO,                                       
 DE_GLOS, TI_DOCU_CABA, NU_DOCU_CABA, FE_DOCU_CABA, TI_DOCU_PROV, NU_DOCU_PROV, FE_DOCU_PROV,                                     
 IM_MVTO_CARG,  IM_MVTO_ABON, SA_ANTE, CO_CNTA_CONT, ID_CNTA, CO_MEPA, DE_MEPA, NO_GIRA, NU_SECU, TI_AUXI_EMPR, CO_AUXI_EMPR)                     
Select T4.CO_CNTA_EMPR, T4.DE_CNTA_EMPR, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,                                       
NULL, 0 AS CARGO_PROV, 0 AS ABONO_PROV, T2.SA_ANTE, NULL, T3.ID_CNTA, NULL, NULL, NULL, 0, NULL, NULL                           
From  (Select CO_EMPR, NU_CNTB_EMPR, CO_CNTA_EMPR, SUM(IM_CARG_CNTB - IM_ABON_CNTB) AS SA_ANTE                                    
 From #TWMVTO_CNTB_Q49_6                                    
 Where co_empr = "' + @ISCO_EMPR + '"                                      
 And nu_cntb_empr = ' + @VSNU_CNTB_EMPR + '                                      
 And nu_anno = ' + @VSNU_ANNO  + '                                      
 And nu_mese < ' + @VSNU_MESE  + '                                      
 And TI_AUXI_EMPR IS NULL                        
 And CO_AUXI_EMPR IS NULL                                  
 And CO_ORDE_SERV IS NULL                                     
 And Datalength(CO_CNTA_EMPR) = ' + @VSNV_INFO_CNTA + '                                    
 Group By CO_EMPR, NU_CNTB_EMPR, CO_CNTA_EMPR) T2, TTIDEN_CNTA T3, TMPLAN_EMPR T4                                    
 Where T3.CO_EMPR = T2.CO_EMPR                                    
And t3.NU_ANNO = 9999                                    
And T3.NU_CNTB_EMPR = T2.NU_CNTB_EMPR                                    
And T3.ID_CNTA IN( "021", "036")                                    
And T3.CO_CNTA_EMPR = T2.CO_CNTA_EMPR                                    
And T4.CO_EMPR = T2.CO_EMPR                 
And T4.CO_CNTA_EMPR = T2.CO_CNTA_EMPR                                    
AND T4.CO_CNTA_EMPR NOT IN (SELECT #TWMVTO_CNTB_Q49_5.CO_CNTA_EMPR FROM #TWMVTO_CNTB_Q49_5                                    
    Where #TWMVTO_CNTB_Q49_5.CO_EMPR = T3.CO_EMPR                                    
    And #TWMVTO_CNTB_Q49_5.NU_CNTB_EMPR = T3.NU_CNTB_EMPR                                    
    And #TWMVTO_CNTB_Q49_5.NU_ANNO = ' + @VSNU_ANNO  + '                                      
    And #TWMVTO_CNTB_Q49_5.NU_MESE = ' + @VSNU_MESE  + '                                      
    And #TWMVTO_CNTB_Q49_5.CO_CNTA_EMPR = T3.CO_CNTA_EMPR                                   
    And #TWMVTO_CNTB_Q49_5.SI_MVTO_CNTB = "APR" ' + @VSDE_CNTA + ' ) ' )                    
                    
Exec ( 'INSERT INTO #TWMVTO_CNTB_Q49_3(CO_CNTA_EMPR, DE_CNTA_EMPR, FE_ASTO_CNTB, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO,                                       
 DE_GLOS, TI_DOCU_CABA, NU_DOCU_CABA, FE_DOCU_CABA, TI_DOCU_PROV, NU_DOCU_PROV, FE_DOCU_PROV,                                     
 IM_MVTO_CARG,  IM_MVTO_ABON, SA_ANTE, CO_CNTA_CONT, ID_CNTA, CO_MEPA, DE_MEPA, NO_GIRA, NU_SECU, TI_AUXI_EMPR, CO_AUXI_EMPR)                        
Select #TWMVTO_CNTB_Q49_5.CO_CNTA_EMPR, MAX(T4.DE_CNTA_EMPR), MAX(#TWMVTO_CNTB_Q49_5.FE_ASTO_CNTB), #TWMVTO_CNTB_Q49_5.CO_UNID_CNTB,             
MAX(#TWMVTO_CNTB_Q49_5.CO_OPRC_CNTB), #TWMVTO_CNTB_Q49_5.NU_ASTO, MAX(#TWMVTO_CNTB_Q49_5.DE_GLOS), MAX(#TWMVTO_CNTB_Q49_5.TI_DOCU), MAX(#TWMVTO_CNTB_Q49_5.NU_DOCU),                           
MAX(#TWMVTO_CNTB_Q49_5.FE_DOCU), T5.TI_DOCU, T5.NU_DOCU, MAX(T5.FE_DOCU), PATINDEX("ABO", T5.TI_OPER) * T5.IM_MVTO_CNTB AS CARGO_PROV,                           
PATINDEX("CAR", T5.TI_OPER) * T5.IM_MVTO_CNTB AS ABONO_PROV, MAX(IsNull(T2.SA_ANTE,0)), T5.CO_CNTA_EMPR, MAX(T3.ID_CNTA),                           
MAX(#TWMVTO_CNTB_Q49_5.CO_MEPA), MAX(T6.DE_MEPA), MAX(#TWMVTO_CNTB_Q49_5.NO_GIRA), MAX(T5.NU_SECU),T5.TI_AUXI_EMPR,T5.CO_AUXI_EMPR      
From #TWMVTO_CNTB_Q49_5                           
 LEFT OUTER JOIN                                     
 (Select CO_EMPR, NU_CNTB_EMPR, CO_CNTA_EMPR, SUM(IM_CARG_CNTB - IM_ABON_CNTB) AS SA_ANTE                                    
 From #TWMVTO_CNTB_Q49_6                                    
 Where co_empr = "' + @ISCO_EMPR + '"                                    
 And nu_cntb_empr = ' + @VSNU_CNTB_EMPR + '                                    
 And nu_anno = ' + @VSNU_ANNO  + '                                    
 And nu_mese < ' + @VSNU_MESE  + '                                    
 And Datalength(CO_CNTA_EMPR) = ' + @VSNV_INFO_CNTA + '                                    
 And TI_AUXI_EMPR IS NULL                               
 And CO_AUXI_EMPR IS NULL                                    
 And CO_ORDE_SERV IS NULL                     
 Group By CO_EMPR, NU_CNTB_EMPR, CO_CNTA_EMPR) T2 ON                          
 #TWMVTO_CNTB_Q49_5.CO_CNTA_EMPR = T2.CO_CNTA_EMPR                              
 LEFT OUTER JOIN TTMEDI_PAGO T6                          
 ON #TWMVTO_CNTB_Q49_5.CO_EMPR = T6.CO_EMPR                          
 And #TWMVTO_CNTB_Q49_5.CO_MEPA = T6.CO_MEPA,                          
 TTIDEN_CNTA T3, TMPLAN_EMPR T4, #TWMVTO_CNTB_Q49_5 T5                                    
Where #TWMVTO_CNTB_Q49_5.CO_EMPR = "' + @ISCO_EMPR + '"                                    
And #TWMVTO_CNTB_Q49_5.NU_CNTB_EMPR =  ' + @VSNU_CNTB_EMPR + '       
And #TWMVTO_CNTB_Q49_5.NU_ANNO = ' + @VSNU_ANNO  + '                                    
And #TWMVTO_CNTB_Q49_5.NU_MESE = ' + @VSNU_MESE  + '                                    
And #TWMVTO_CNTB_Q49_5.SI_MVTO_CNTB = "APR"                                     
And #TWMVTO_CNTB_Q49_5.ST_DIFE_CAMB = "N" ' + @VSDE_CNTA + '                                     
And T3.CO_EMPR = #TWMVTO_CNTB_Q49_5.CO_EMPR                 
And t3.NU_ANNO = 9999                                    
And T3.NU_CNTB_EMPR = #TWMVTO_CNTB_Q49_5.NU_CNTB_EMPR                                    
And T3.ID_CNTA IN( "021", "036")                                    
And T3.CO_CNTA_EMPR = #TWMVTO_CNTB_Q49_5.CO_CNTA_EMPR                                    
And T4.CO_EMPR = #TWMVTO_CNTB_Q49_5.CO_EMPR                                    
And T4.CO_CNTA_EMPR = #TWMVTO_CNTB_Q49_5.CO_CNTA_EMPR                                    
And T5.CO_EMPR = #TWMVTO_CNTB_Q49_5.CO_EMPR                                    
And T5.NU_CNTB_EMPR = #TWMVTO_CNTB_Q49_5.NU_CNTB_EMPR                                    
And T5.CO_UNID_CNTB = #TWMVTO_CNTB_Q49_5.CO_UNID_CNTB                                    
And T5.CO_OPRC_CNTB = #TWMVTO_CNTB_Q49_5.CO_OPRC_CNTB                                    
And T5.NU_ANNO = #TWMVTO_CNTB_Q49_5.NU_ANNO                                    
And T5.NU_MESE = #TWMVTO_CNTB_Q49_5.NU_MESE         
And T5.NU_ASTO = #TWMVTO_CNTB_Q49_5.NU_ASTO                                    
And T5.SI_MVTO_CNTB = "APR"                                    
And T5.ST_GEST = "N"                                    
And (T5.ST_DIFE_CAMB = "N"                                     
     Or (T5.ST_DIFE_CAMB = "S"                                     
 And T5.NU_ASTO_ORIG = #TWMVTO_CNTB_Q49_5.NU_ASTO                                    
 And T5.CO_CNTA_ORIG = #TWMVTO_CNTB_Q49_5.CO_CNTA_EMPR                                    
 And T5.CO_CNTA_EMPR <> T5.CO_CNTA_ORIG))                           
GROUP BY #TWMVTO_CNTB_Q49_5.CO_UNID_CNTB, #TWMVTO_CNTB_Q49_5.CO_CNTA_EMPR, #TWMVTO_CNTB_Q49_5.NU_ASTO, T5.NU_SECU, T5.TI_OPER, T5.IM_MVTO_CNTB, T5.TI_DOCU,                         
T5.NU_DOCU, T5.CO_CNTA_EMPR ,T5.TI_AUXI_EMPR,T5.CO_AUXI_EMPR ')                  
                    
Exec('INSERT INTO #TWMVTO_CNTB_Q49_4(CO_CNTA_EMPR, DE_CNTA_EMPR, FE_ASTO_CNTB, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO,                                       
 DE_GLOS, TI_DOCU_CABA, NU_DOCU_CABA, FE_DOCU_CABA, TI_DOCU_PROV, NU_DOCU_PROV, FE_DOCU_PROV,                                     
 IM_MVTO_CARG,  IM_MVTO_ABON, SA_ANTE, CO_CNTA_CONT, ID_CNTA, CO_MEPA, DE_MEPA, NO_GIRA, NU_SECU,TI_AUXI_EMPR,CO_AUXI_EMPR)                        
Select DISTINCT #TWMVTO_CNTB_Q49_5.CO_CNTA_EMPR, T4.DE_CNTA_EMPR, #TWMVTO_CNTB_Q49_5.FE_ASTO_CNTB, #TWMVTO_CNTB_Q49_5.CO_UNID_CNTB,                                     
#TWMVTO_CNTB_Q49_5.CO_OPRC_CNTB, #TWMVTO_CNTB_Q49_5.NU_ASTO, T5.DE_GLOS, NULL, NULL, NULL, NULL, NULL, T5.FE_DOCU,                           
PATINDEX("ABO", T5.TI_OPER) * T5.IM_MVTO_CNTB AS CARGO_PROV, PATINDEX("CAR", T5.TI_OPER) * T5.IM_MVTO_CNTB AS ABONO_PROV,                           
IsNull(T2.SA_ANTE,0), T5.CO_CNTA_EMPR, T3.ID_CNTA, NULL , NULL, NULL, T5.NU_SECU ,null,null                      
From #TWMVTO_CNTB_Q49_5                     
 LEFT OUTER JOIN                                 
 (Select CO_EMPR, NU_CNTB_EMPR, CO_CNTA_EMPR, SUM(IM_CARG_CNTB - IM_ABON_CNTB) AS SA_ANTE                                  
 From #TWMVTO_CNTB_Q49_6                                    
 Where co_empr = "' + @ISCO_EMPR + '"                                    
 And nu_cntb_empr = ' + @VSNU_CNTB_EMPR + '                                    
 And nu_anno = ' + @VSNU_ANNO  + '                                    
 And nu_mese < ' + @VSNU_MESE  + '                                    
 And Datalength(CO_CNTA_EMPR) = ' + @VSNV_INFO_CNTA + '                                    
 And TI_AUXI_EMPR IS NULL                                    
 And CO_AUXI_EMPR IS NULL                                    
 And CO_ORDE_SERV IS NULL                                    
 Group By CO_EMPR, NU_CNTB_EMPR, CO_CNTA_EMPR) T2                                
ON #TWMVTO_CNTB_Q49_5.CO_CNTA_EMPR = T2.CO_CNTA_EMPR,       
TTIDEN_CNTA T3, TMPLAN_EMPR T4, #TWMVTO_CNTB_Q49_5 T5                                    
Where #TWMVTO_CNTB_Q49_5.CO_EMPR = "' + @ISCO_EMPR + '"                                    
And #TWMVTO_CNTB_Q49_5.NU_CNTB_EMPR = ' + @VSNU_CNTB_EMPR + '                                    
And #TWMVTO_CNTB_Q49_5.NU_ANNO = ' + @VSNU_ANNO  + '                                    
And #TWMVTO_CNTB_Q49_5.NU_MESE = ' + @VSNU_MESE  + '                                    
And #TWMVTO_CNTB_Q49_5.CO_OPRC_CNTB IN (Select CO_OPRC_CNTB                                    
   From TTIDEN_OPER                                    
   Where CO_EMPR = "' + @ISCO_EMPR + '"                                    
   And NU_CNTB_EMPR = ' + @VSNU_CNTB_EMPR + '                                    
   And ID_OPRC IN ("003", "027"))                                    
And #TWMVTO_CNTB_Q49_5.SI_MVTO_CNTB = "APR" ' + @VSDE_CNTA + '                             
And T3.CO_EMPR = #TWMVTO_CNTB_Q49_5.CO_EMPR                                    
And t3.NU_ANNO = 9999                                    
And T3.NU_CNTB_EMPR = #TWMVTO_CNTB_Q49_5.NU_CNTB_EMPR                                    
And T3.ID_CNTA IN( "021", "036")                                    
And T3.CO_CNTA_EMPR = #TWMVTO_CNTB_Q49_5.CO_CNTA_EMPR                                    
And T4.CO_EMPR = #TWMVTO_CNTB_Q49_5.CO_EMPR                                    
And T4.CO_CNTA_EMPR = #TWMVTO_CNTB_Q49_5.CO_CNTA_EMPR                                    
And T5.CO_EMPR = #TWMVTO_CNTB_Q49_5.CO_EMPR                                    
And T5.NU_CNTB_EMPR = #TWMVTO_CNTB_Q49_5.NU_CNTB_EMPR                                    
And T5.CO_UNID_CNTB = #TWMVTO_CNTB_Q49_5.CO_UNID_CNTB                                    
And T5.CO_OPRC_CNTB = #TWMVTO_CNTB_Q49_5.CO_OPRC_CNTB                       
And T5.NU_ANNO = #TWMVTO_CNTB_Q49_5.NU_ANNO                                    
And T5.NU_MESE = #TWMVTO_CNTB_Q49_5.NU_MESE                               
And T5.NU_ASTO = #TWMVTO_CNTB_Q49_5.NU_ASTO                                    
And T5.SI_MVTO_CNTB = "APR"                                    
And T5.ST_GEST = "N"                                    
And T5.ST_DIFE_CAMB = "S"                                     
And T5.CO_OPRC_CNTB IN (Select CO_OPRC_CNTB                                    
   From TTIDEN_OPER                                    
   Where CO_EMPR = "' + @ISCO_EMPR + '"                                    
   And NU_CNTB_EMPR = ' + @VSNU_CNTB_EMPR + '                                    
   And ID_OPRC IN ("003", "027"))' )                                       
                    
EXEC(' INSERT INTO #TWMVTO_CNTB_Q49_1(CO_CNTA_EMPR, DE_CNTA_EMPR, FE_ASTO_CNTB, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO,                                       
 DE_GLOS, TI_DOCU_CABA, NU_DOCU_CABA, FE_DOCU_CABA, TI_DOCU_PROV, NU_DOCU_PROV, FE_DOCU_PROV,                                     
 IM_MVTO_CARG,  IM_MVTO_ABON, SA_ANTE, CO_CNTA_CONT, ID_CNTA, CO_MEPA, DE_MEPA, NO_GIRA, NU_SECU,TI_AUXI_EMPR,CO_AUXI_EMPR)                     
 Select CO_CNTA_EMPR, DE_CNTA_EMPR, FE_ASTO_CNTB, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO,                                       
 DE_GLOS, TI_DOCU_CABA, NU_DOCU_CABA, FE_DOCU_CABA, TI_DOCU_PROV, NU_DOCU_PROV, FE_DOCU_PROV,                                     
 IM_MVTO_CARG,  IM_MVTO_ABON, SA_ANTE, CO_CNTA_CONT, ID_CNTA, CO_MEPA, DE_MEPA, NO_GIRA, NU_SECU,TI_AUXI_EMPR,CO_AUXI_EMPR                    
 From #TWMVTO_CNTB_Q49_2                    
 Union All                    
 Select CO_CNTA_EMPR, DE_CNTA_EMPR, FE_ASTO_CNTB, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO,                                       
 DE_GLOS, TI_DOCU_CABA, NU_DOCU_CABA, FE_DOCU_CABA, TI_DOCU_PROV, NU_DOCU_PROV, FE_DOCU_PROV,                                     
 IM_MVTO_CARG,  IM_MVTO_ABON, SA_ANTE, CO_CNTA_CONT, ID_CNTA, CO_MEPA, DE_MEPA, NO_GIRA, NU_SECU,TI_AUXI_EMPR,CO_AUXI_EMPR         
 From #TWMVTO_CNTB_Q49_3                    
 Union All                    
 Select CO_CNTA_EMPR, DE_CNTA_EMPR, FE_ASTO_CNTB, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ASTO,                                       
 DE_GLOS, TI_DOCU_CABA, NU_DOCU_CABA, FE_DOCU_CABA, TI_DOCU_PROV, NU_DOCU_PROV, FE_DOCU_PROV,                                     
 IM_MVTO_CARG,  IM_MVTO_ABON, SA_ANTE, CO_CNTA_CONT, ID_CNTA, CO_MEPA, DE_MEPA, NO_GIRA, NU_SECU,TI_AUXI_EMPR,CO_AUXI_EMPR                    
 From #TWMVTO_CNTB_Q49_4 ' + @VSDE_ORDE )                    
                                          
DELETE FROM #TWMVTO_CNTB_Q49_1                                          
WHERE CO_CNTA_EMPR = CO_CNTA_CONT                             
                                       
------------------------------------------------------------------------------------------------------------                          
IF @ISCA_REPO = 'C'        
Select convert(varchar(4), @INNU_ANNO) + '0' + convert(varchar(2), @INNU_MESE) + '00' + '|' +         
T1.CO_UNID_CNTB + T1.CO_OPRC_CNTB + T1.NU_ASTO + CONVERT(VARCHAR(10),T1.NU_SECU) + '|' +      
CONVERT(VARCHAR(10),T1.FE_ASTO_CNTB, 103) + '|'+       
ISNULL(REPLACE(REPLACE(T1.DE_GLOS,CHAR(13),''),CHAR(10),''), '-') + '|'+      
Convert(Varchar(14), Convert(DECIMAL(12,2),T1.IM_MVTO_CARG)) + '|' +      
Convert(Varchar(14), Convert(DECIMAL(12,2),T1.IM_MVTO_ABON)) + '|1|'        
From #TWMVTO_CNTB_Q49_1 T1                            
  Left Outer Join TMPLAN_EMPR T2                                          
  On T2.CO_EMPR = @ISCO_EMPR                                      
  And T1.CO_CNTA_CONT = T2.CO_CNTA_EMPR                                        
Where T1.IM_MVTO_CARG <> 0 Or T1.IM_MVTO_ABON <> 0        
Order By T1.NU_CONT            
ELSE         
--Select convert(varchar(4), @INNU_ANNO) + '0' + convert(varchar(2), @INNU_MESE) + '00',         
Select T1.CO_UNID_CNTB, T1.CO_OPRC_CNTB, T1.NU_ASTO, T1.NU_SECU,      
ISNULL(T3.CO_BANC_SUNA,'-'), ISNULL(T4.NU_CNTA_CNTE,'-'),    
ISNULL(T1.CO_CNTA_EMPR, '-'),    
CONVERT(VARCHAR(10),T1.FE_ASTO_CNTB, 103) ,    
ISNULL(T1.CO_MEPA, '999'),    
ISNULL(convert(varchar(100),REPLACE(REPLACE(REPLACE(T1.DE_GLOS,CHAR(13),''),CHAR(10),''),'|',''),100), '-'),    
ISNULL(convert(varchar(100),left( REPLACE(REPLACE(REPLACE(T1.NO_GIRA,'/',','),'Ñ','N'),'@',''),60)),'VARIOS'),  
ISNULL(T1.TI_DOCU_CABA,'-'), ISNULL(convert(varchar(20),REPLACE(REPLACE(T1.NU_DOCU_CABA,'/',''),'|','')), '-') as nu_docu_caba,       
Convert(Varchar(14), Convert(DECIMAL(12,2),T1.IM_MVTO_CARG)) ,       
Convert(Varchar(14), Convert(DECIMAL(12,2),T1.IM_MVTO_ABON)),     
ISNULL((CASE t5.ST_DOCU_0029    
  WHEN 'S' THEN  (SELECT RIGHT(CO_DOCU_SUNA,1) from TMAUXI_EMPR    
     WHERE CO_EMPR = @ISCO_EMPR    
     AND TI_AUXI_EMPR = T1.TI_AUXI_EMPR    
     AND CO_AUXI_EMPR = T1.CO_AUXI_EMPR)    
  ELSE '-'    
END),'-'),    
ISNULL((CASE t5.ST_DOCU_0029    
  WHEN 'S' THEN  (SELECT NU_DOCU_SUNA from TMAUXI_EMPR    
     WHERE CO_EMPR = @ISCO_EMPR    
     AND TI_AUXI_EMPR = T1.TI_AUXI_EMPR    
     AND CO_AUXI_EMPR = T1.CO_AUXI_EMPR)    
  ELSE '-'    
END),'-') ,T1.DE_CNTA_EMPR, CONVERT(VARCHAR(10),T1.FE_DOCU_CABA,103), T1.SA_ANTE    
From #TWMVTO_CNTB_Q49_1 T1       
  Left Outer Join TMPLAN_EMPR T2                                          
  On T2.CO_EMPR = @ISCO_EMPR                                      
  And T1.CO_CNTA_CONT = T2.CO_CNTA_EMPR       
  Left Outer Join TTCNTA_BNCO T4    
  On T4.CO_EMPR = @ISCO_EMPR    
  And T4.CO_CNTA_EMPR = T1.CO_CNTA_EMPR    
  Left Outer Join TTBANC_FINA T3    
  On T3.CO_BANC = T4.CO_BANC    
  Left Outer Join TTDOCU_CNTB T5    
  On T1.TI_DOCU_CABA = T5.TI_DOCU                                     
Where T1.IM_MVTO_CARG <> 0 Or T1.IM_MVTO_ABON <> 0                                   
Order By T1.NU_CONT                                                  
Return                                          
/*----------------------------------- Fin ---------------------------------*/

GO
